package com.ruoyi.module.domain;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 用户评测记录对象 user_eval_record
 * 
 * @author ruoyi
 */
public class UserEvalRecord extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键ID */
    private Long id;

    /** 用户ID */
    @Excel(name = "用户ID")
    private Long userId;

    /** 词典ID */
    @Excel(name = "词典ID")
    private String dictId;

    /** 章节号 */
    @Excel(name = "章节号")
    private Integer chapter;

    /** 评测类别 */
    @Excel(name = "评测类别")
    private String category;

    /** 评测时间戳（UTC） */
    @Excel(name = "评测时间戳")
    private Long timestamp;

    /** 单词 */
    @Excel(name = "单词")
    private String word;

    /** 评测分数 */
    @Excel(name = "评测分数")
    private Integer score;

    /** 用时（毫秒） */
    @Excel(name = "用时")
    private Integer duration;

    /** 评测详细结果（JSON格式，包含lines数据） */
    private String evalDetail;

    /** 评测记录UUID */
    @Excel(name = "评测记录UUID")
    private String uuid;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }

    public void setUserId(Long userId) 
    {
        this.userId = userId;
    }

    public Long getUserId() 
    {
        return userId;
    }

    public void setDictId(String dictId) 
    {
        this.dictId = dictId;
    }

    public String getDictId() 
    {
        return dictId;
    }

    public void setChapter(Integer chapter) 
    {
        this.chapter = chapter;
    }

    public Integer getChapter() 
    {
        return chapter;
    }

    public void setCategory(String category) 
    {
        this.category = category;
    }

    public String getCategory() 
    {
        return category;
    }

    public void setTimestamp(Long timestamp) 
    {
        this.timestamp = timestamp;
    }

    public Long getTimestamp() 
    {
        return timestamp;
    }

    public void setWord(String word) 
    {
        this.word = word;
    }

    public String getWord() 
    {
        return word;
    }

    public void setScore(Integer score) 
    {
        this.score = score;
    }

    public Integer getScore() 
    {
        return score;
    }

    public void setDuration(Integer duration) 
    {
        this.duration = duration;
    }

    public Integer getDuration() 
    {
        return duration;
    }

    public void setEvalDetail(String evalDetail) 
    {
        this.evalDetail = evalDetail;
    }

    public String getEvalDetail() 
    {
        return evalDetail;
    }

    public void setUuid(String uuid) 
    {
        this.uuid = uuid;
    }

    public String getUuid() 
    {
        return uuid;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("userId", getUserId())
            .append("dictId", getDictId())
            .append("chapter", getChapter())
            .append("category", getCategory())
            .append("timestamp", getTimestamp())
            .append("word", getWord())
            .append("score", getScore())
            .append("duration", getDuration())
            .append("evalDetail", getEvalDetail())
            .append("uuid", getUuid())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}

